On the Effectiveness of Theorem Proving Guided Discovery of Formal Assertions for a Register Allocator in a High-Level Synthesis System
نویسندگان
چکیده
This paper presents a formal speciication and a proof of correctness for the register optimization task in high{level synthesis. A widely implemented register optimization algorithm is modeled in higher{order logic and veriied in a theorem prover environment. A rich collection of correctness properties is systematically formulated during the theorem proving exercise. These properties constitute a detailed set of formal assertions that are identiied with the invariants at various stages of the algorithm. The formal assertions are then embedded as programming assertions in the implementation of the register optimization algorithm in a production-strength high{level synthesis system. When turned on, the programming assertions (1) certify whether a speciic run of the high{level synthesis system produced designs with error{free register allocation and, (2) in the event of a failure, help discover and isolate programming errors in the implementation. We present a detailed example and supporting experimental data to demonstrate the eeectiveness of these assertions in discovering and isolating errors. Based on this experience, we discuss the role of the formal theorem proving exercise in discovering a useful set of assertions for embedding in the register optimization implementation and argue that in the absence of using the mechanical proof checking eeort it would have been very hard if not impossible to discover a set of assertions so useful and expressed with such precision.
منابع مشابه
Theorem proving guided development of formal assertions in a resource-constrained scheduler for high-level synthesis
متن کامل
A short introduction to two approaches in formal verification of security protocols: model checking and theorem proving
In this paper, we shortly review two formal approaches in verification of security protocols; model checking and theorem proving. Model checking is based on studying the behavior of protocols via generating all different behaviors of a protocol and checking whether the desired goals are satisfied in all instances or not. We investigate Scyther operational semantics as n example of this...
متن کاملThe effectiveness of Guided Discovery Learning on the learning and satisfaction of nursing students
Introduction: Revision of the traditional teaching methods as well as employment of modern and active learning method through educational systems is tangible. Application of such methods are quite common in different scientific areas. Therefore, performing modern educational approaches such as self-directed and long-life learning such as Guided Discovery Learning (GDL) is a step toward the stud...
متن کاملGoldmine : an Integration of Data Mining and Static Analysis for Automatic Generation of Hardware
We present GOLDMINE, a methodology for generating assertions automatically. Our method involves a combination of data mining and static analysis of the Register Transfer Level (RTL) design. The RTL design is first simulated to generate data about the design’s dynamic behavior. The generated data is then mined for “candidate assertions” that are likely to be invariants. We present both a decisio...
متن کاملNumeric Types in Formal Synthesis
The Formal Synthesis methodology can be considered as the application of the transformational approach to circuit synthesis by logical transformations performed in a theorem prover. Additionally to the implementation of the circuit, the proof that the result is a correct implementation of a given specification is obtained automatically. In this paper, a higher-order formalisation for the arithm...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1998